home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Gekkan Dennou Club 145
/
Gekkan Dennou Club - 2000.6 Vol. 145 (Japan).7z
/
Gekkan Dennou Club - 2000.6 Vol. 145 (Japan) (Track 1).bin
/
tools
/
sharp
/
sxwork3.lzh
/
福袋
/
注釈付ヘッダ
/
SXGRAPH.H
< prev
next >
Wrap
Text File
|
1994-02-20
|
25KB
|
824 lines
/*
* sxgraph.h X68k SX_SYSTEM ver 2.01 Copyright 1994 SHARP/First Class Technology
*/
#ifndef __SXGRAPH_H
#define __SXGRAPH_H
#ifndef __SXDEF2_H
#include <sxdef2.h>
#endif
#ifdef FORWORD
#define __PROTO_TYPE
#endif
#ifdef __STDC__
#define __PROTO_TYPE
#endif
typedef enum TextColor TextColor; /* テキストカラー */
typedef enum CapKind CapKind; /* 先端処理の種類 */
typedef enum JoinKind JoinKind; /* 結合処理の種類 */
typedef enum ScreenType ScreenType; /* スクリーンタイプ */
typedef enum FontKind FontKind; /* フォントカインド */
typedef enum FontTbl FontTbl; /* ROMフォントテーブル */
typedef enum GScriptCommand GScriptCommand; /* グラフスクリプトコマンド */
typedef enum GProc GProc; /* 描画ルーチンテーブル */
typedef enum RgnProc RgnProc; /* リージョン1行演算ルーチンテーブル */
typedef enum HProc HProc; /* 水平描画初期化ルーチンテーブル */
typedef enum FontProc FontProc; /* 文字描画ルーチンテーブル */
typedef enum FontProcCommand FontProcCommand; /* フォント描画コマンド */
typedef struct Polygon Polygon; /* ポリゴンレコード */
typedef Polygon ***NPoly; /* ニューポリゴン */
typedef struct NPolyEnv NPolyEnv; /* ポリゴン環境レコード */
typedef struct RectImg RectImg; /* レクタングルイメージ */
typedef struct Bits Bits; /* ビッツレコード */
typedef struct Pen Pen; /* ペン情報レコード */
typedef struct TX16 TX16; /* G16イメージレコード */
typedef struct GSOneEnv GSOneEnv; /* グラフスクリプト描画環境レコード */
typedef struct SpltBz SpltBz; /* ベジェ曲線分割情報レコード */
typedef struct SpltBSp SpltBSp; /* Bスプライン曲線分割情報レコード */
typedef struct FontList FontList; /* フォントリスト */
/*
* グラフマン(Graph Man)
*/
enum TextColor { /* テキストカラー */
G_THRU, /* 透明(グラフィック画面が透けて
見える) */
G_WHITE = 8, /* 白 */
G_LGRAY, /* 明るいグレー */
G_DGRAY, /* 暗いグレー */
G_BLACK, /* 黒 */
G_YELLOW, /* 黄色 */
G_RED, /* 赤 */
G_GREEN, /* 緑 */
G_BLUE /* 青 */
};
enum CapKind { /* 先端処理の種類 */
G_BUTTCAP, /* バット線端 */
G_ROUNDCAP, /* 丸型線端 */
G_PROJECTCAP /* 突出線端 */
};
enum JoinKind { /* 結合処理の種類 */
G_MITERJOIN, /* マイター結合 */
G_ROUNDJOIN, /* ラウンド結合 */
G_BEVELJOIN /* ベベル結合 */
};
enum ScreenType { /* スクリーンタイプ */
G_TXT, /* テキストタイプ */
G_GRP, /* グラフィックタイプ */
G_GR2, /* GR2タイプ */
G_GR3 /* GR3タイプ */
};
/* ベースアドレス */
#define G_TXTBASE ((char *) 0xe00000) /* テキストタイプの場合 */
#define G_GRPBASE ((char *) 0xc00000) /* グラフィックタイプの場合 */
/* 横1ラインのバイト数 */
#define G_TXTLINE 128 /* テキストタイプの場合 */
#define G_GRPLINE 2048 /* グラフィックタイプの場合 */
/* 1ページのバイト数 */
#define G_TXTPAGE 0x20000 /* テキストタイプの場合 */
/* アクセスページ */
#define G_PAGE0 1 /* ページ0 */
#define G_PAGE1 (1 << 1) /* ページ1 */
#define G_PAGE2 (1 << 2) /* ページ2 */
#define G_PAGE3 (1 << 3) /* ページ3 */
#define G_ALLPAGE 0x0f /* 全ページ */
/* ブレンドウェイトレシオ */
#define G_GRPRATIO 0x8000 /* グラフィックタイプで
65536色同時発色可能な場合 */
enum PenModeHi { /* ペンモードの上位バイト */
G_FORE, /* フォアグラウンドカラー */
G_BACK, /* バックグラウンドカラー */
G_PPAT, /* ペンパターン */
G_EXPAT /* エクステンドパターン */
};
enum PenModeLow { /* ペンモードの下位バイト */
G_PSET, /* PSET */
G_AND, /* AND */
G_OR, /* OR */
G_XOR, /* XOR */
G_NPSET, /* NOT PSET */
G_NAND, /* NOT AND */
G_NOR, /* NOT OR */
G_NXOR, /* NOT XOR */
G_ADD, /* ADD */
G_ADDLIM, /* ADD LIMIT */
G_SUB, /* SUB */
G_SUBLIM, /* SUB LIMIT */
G_SELMAX, /* SELECT MAX */
G_SELMIN, /* SELECT MIN */
G_BLEND /* 14 */ /* BLEND */
};
enum FontKind { /* フォントカインド */
G_ROM12, /* ROM12ドット */
G_ROM16, /* ROM16ドット */
G_ROM24, /* ROM24ドット */
G_TRAD = 128, /* Trad */
G_AMADEUS, /* Amadeus */
G_ARTIST, /* Artist */
G_BAROQUE, /* Baroque */
G_COMP, /* Comp */
G_HOUSE, /* House */
G_JACK, /* Jack */
G_NABLA, /* Nabla */
G_PANK, /* Pank */
G_SMART, /* Smart */
G_MG1R = 531, /* 丸ゴシック体(細字) */
G_MG4R = 534, /* 丸ゴシック体(中字) */
G_MG7R = 537, /* 丸ゴシック体(太字) */
G_KG1S = 561, /* 角ゴシック体(細字) */
G_KG4S = 564, /* 角ゴシック体(中字) */
G_KG7S = 567 /* 角ゴシック体(太字) */
};
/* フォントフェイス */
#define G_PLANE 0 /* 標準 */
#define G_BOLD 1 /* 強調 */
#define G_ITALIC (1 << 1) /* イタリック */
#define G_ULINE (1 << 2) /* アンダーライン */
#define G_OLINE (1 << 3) /* 中抜き */
#define G_SHADOW (1 << 4) /* 中抜き影付き */
#define G_KERNING (1 << 5) /* カーニング */
enum FontTbl { /* ROMフォントテーブル */
GF_HA12, /* 12ドット半角文字 */
GF_ZS12, /* 12ドット全角文字 */
GF_HA16, /* 16ドット半角文字 */
GF_HG16, /* 16ドット半角外字 */
GF_QU16, /* 16ドット1/4角上付き文字 */
GF_QL16, /* 16ドット1/4角下付き文字 */
GF_QM16, /* 16ドット1/4角文字 */
GF_ZA16, /* 16ドット全角非漢字 */
GF_Z116, /* 16ドット全角JIS第1水準漢字 */
GF_Z216, /* 16ドット全角JIS第2水準漢字 */
GF_ZG16, /* 16ドット全角外字 */
GF_ZS16, /* 16ドット全角特殊 */
GF_HA24, /* 24ドット半角文字 */
GF_HG24, /* 24ドット半角外字 */
GF_QU24, /* 24ドット1/4角上付き文字 */
GF_QL24, /* 24ドット1/4角下付き文字 */
GF_QM24, /* 24ドット1/4角文字 */
GF_ZA24, /* 24ドット全角非漢字 */
GF_Z124, /* 24ドット全角JIS第1水準漢字 */
GF_Z224, /* 24ドット全角JIS第2水準漢字 */
GF_ZG24, /* 24ドット全角外字 */
GF_ZS24 /* 21 */ /* 24ドット全角特殊 */
};
enum GScriptCommand { /* グラフスクリプトコマンド */
GS_END = -1, /* コマンドの終了 */
GS_NOP, /* 何も行わない */
GS_REM, /* 注釈 */
GS_BITMAP, /* ビットマップの設定 */
GS_APAGE, /* アクセスページの設定 */
GS_CLIP, /* クリップリージョンの変更 */
GS_PMODE, /* ペンモードの指定 */
GS_PSIZE, /* ペンサイズの指定 */
GS_FKIND, /* フォントカインドの指定 */
GS_FFACE, /* フォントフェイスの指定 */
GS_FMODE, /* フォントモードの指定 */
GS_FSIZE, /* フォントサイズの指定 */
GS_FORE, /* フォアグラウンドカラーの指定 */
GS_BACK, /* バックグラウンドカラーの指定 */
GS_PPAT, /* ペンパターンの指定 */
GS_EXPAT, /* エクステンドパターンの指定 */
GS_LINE, /* ラインの描画 */
GS_FRRECT, /* レクタングルの描画 */
GS_FLRECT, /* レクタングルの塗りつぶし */
GS_FRRRECT, /* ラウンドレクタングルの描画 */
GS_FLRRECT, /* ラウンドレクタングルの塗りつぶし */
GS_FROVAL, /* オーバルの描画 */
GS_FLOVAL, /* オーバルの塗りつぶし */
GS_FRARC, /* アークの描画 */
GS_FLARC, /* アークの塗りつぶし */
GS_FRPOLY, /* ポリゴンの描画 */
GS_FLPOLY, /* ポリゴンの塗りつぶし */
GS_FRRGN, /* リージョンの描画 */
GS_FLRGN, /* リージョンの塗りつぶし */
GS_STR, /* 文字列の描画 */
GS_PUT, /* ビットイメージの拡大/縮小 */
GS_COPY, /* ビットイメージのコピー */
GS_FRNPOLY, /* ニューポリゴンの描画 */
GS_FLNPOLY /* 32 */ /* ニューポリゴンの塗りつぶし */
};
enum GProc { /* 描画ルーチンテーブル */
G_STR, /* 文字列の描画 */
G_LINE, /* ラインの描画 */
G_RECT, /* レクタングルの描画 */
G_RRECT, /* ラウンドレクタングルの描画 */
G_OVAL, /* オーバルの描画 */
G_ARC, /* アークの描画 */
G_POLY, /* ポリゴンの描画 */
G_RGN, /* リージョンの描画 */
G_COPY, /* ビットイメージのコピー */
G_RSV1, /* システム予約 */
G_RSV2, /* システム予約 */
G_WIDTH, /* 文字列の幅を求める */
G_LENGTH, /* 指定した幅に収まる文字列の長さを
求める */
G_NPOLY, /* ニューポリゴンの描画 */
G_BEZIER, /* ベジェ曲線の描画 */
G_BSPLINE /* 15 */ /* Bスプライン曲線の描画 */
};
enum RgnProc { /* リージョン1行演算ルーチンテーブル */
GR_AND, /* 1ラインのANDをとる */
GR_OR, /* 1ラインのORをとる */
GR_DIFF, /* 1ラインの差分をとる */
GR_XOR /* 1ラインのXORをとる */
};
enum HProc { /* 水平描画初期化ルーチンテーブル */
GH_LINE, /* 水平ライン描画のための初期化 */
GH_COPY, /* 水平ラインコピーのための初期化 */
GH_PUT /* ビットイメージ描画のための初期化 */
};
enum FontProc { /* 文字描画ルーチンテーブル */
GF_FACE, /* 飾り文字処理 */
GF_PUTCHAR /* ビットイメージの描画 */
};
enum PlotMode { /* プロットモード */
G_STD, /* 標準 */
G_REV, /* 反転 */
G_HILITE, /* ハイライト */
G_HILREV, /* ハイライト反転 */
G_ERACE, /* 消去 */
G_MESH = 6, /* 網掛け */
G_MESREV, /* 網掛け反転 */
G_HIDDEN, /* 不可視 */
G_HIDREV /* 不可視反転 */
};
enum CRTMode { /* 画面モード */
G_WS3H, /* 1024×1024、16色、512×512、高解像度 */
G_WS3L, /* 1024×1024、16色、512×512、標準解像度 */
G_WS0H, /* 1024×1024、16色、256×256、高解像度 */
G_WS0L, /* 1024×1024、16色、256×256、標準解像度 */
G_NS3H, /* 512×512、16色、512×512、高解像度 */
G_NS3L, /* 512×512、16色、512×512、標準解像度 */
G_NS0H, /* 512×512、16色、256×256、高解像度 */
G_NS0L, /* 512×512、16色、256×256、標準解像度 */
G_NM3H, /* 512×512、256色、512×512、高解像度 */
G_NM3L, /* 512×512、256色、512×512、標準解像度 */
G_NM0H, /* 512×512、256色、256×256、高解像度 */
G_NM0L, /* 512×512、256色、256×256、標準解像度 */
G_NL3H, /* 512×512、65536色、512×512、高解像度 */
G_NL3L, /* 512×512、65536色、512×512、標準解像度 */
G_NL0H, /* 512×512、65536色、256×256、高解像度 */
G_NL0L, /* 512×512、65536色、256×256、標準解像度 */
G_WS4H, /* 16 1024×1024、16色、768×512、高解像度 */
G_WS7V = 19 /* 1024×1024、16色、640×480、VGAモニタ */
};
enum CharKind { /* 文字種コード */
G_HANK, /* 半角文字 */
G_HGAI, /* 半角外字 */
G_QUANK, /* 1/4角上付き文字 */
G_QLANK, /* 1/4角下付き文字 */
G_ZANK = 5, /* 全角非漢字 */
G_ZJIS1, /* 全角JIS第1水準漢字 */
G_ZJIS2, /* 全角JIS第2水準漢字 */
G_ZGAI, /* 全角外字 */
G_ZSPC /* 全角特殊 */
};
struct Polygon { /* ポリゴンレコード */
long size; /* レコード全体のサイズ */
Rect bounds; /* バウンドレクタングル */
LPoint pt[_VARLEN]; /* 頂点のポイント配列(可変長データ)*/
};
struct NPolyEnv { /* ポリゴン環境レコード */
long lineWidth; /* 線の太さ */
CapKind capKind; /* 先端処理の種類 */
JoinKind joinKind; /* 結合処理の種類 */
long miterLimit; /* マイターリミット */
};
struct RectImg { /* レクタングルイメージ */
Rect bounds; /* バウンドレクタングル */
BitImg data[_VARLEN]; /* ビットイメージ(可変長データ)*/
};
struct GScript { /* グラフスクリプトレコード */
long size; /* レコード全体のサイズ */
unsigned short version; /* グラフスクリプトのバージョン */
Region clipping; /* グラフスクリプトの外形を表す
リージョン(可変長データ) */
/* short command[_VARLEN]; /* グラフスクリプトコマンド列
(可変長データ) */
};
struct Bits { /* ビッツレコード */
Bitmap bmap; /* ビットマップレコード */
long size; /* イメージのバイト数 */
short lockLvl; /* ロックレベル */
char rsv[16]; /* システム予約 */
unsigned char data[_VARLEN]; /* ビットイメージ(可変長データ)*/
};
struct Pen { /* ペン情報レコード */
Point loc; /* ペン位置 */
Point size; /* ペンサイズ */
unsigned short mode; /* ペンモード */
BitImg *pat; /* ペンパターン */
};
struct TX16 { /* G16イメージレコード */
unsigned long self; /* 'TX16' */
long size; /* これ以降のバイト数 */
Rect bounds; /* バウンドレクタングル */
unsigned short palet[16]; /* 16色のパレット値 */
unsigned char data[_VARLEN]; /* イメージデータ(可変長データ) */
};
struct GSOneEnv { /* グラフスクリプト描画環境レコード */
GScript **gScript; /* グラフスクリプトハンドル */
long offset; /* 先頭からのオフセット */
Rect source; /* 前のレクタングル */
Rect dest; /* 描画を行うレクタングル */
Graph *graph; /* グラフポインタ */
};
struct SpltBz { /* ベジェ曲線分割情報レコード */
Point a1; /* 起点の座標 */
Point c1; /* 方向点1の座標 */
Point c2; /* 方向点2の座標 */
Point a2; /* 分割点の座標 */
Point c3; /* 方向点3の座標 */
Point c4; /* 方向点4の座標 */
Point a3; /* 終点の座標 */
};
struct SpltBSp { /* Bスプライン曲線分割情報レコード */
Point a1; /* 起点の座標 */
Point c1; /* 中間点1の座標 */
Point a2; /* 分割点の座標 */
Point c2; /* 中間点2の座標 */
Point a3; /* 終点の座標 */
};
/*
* フォントマン (Font Man)
*/
enum FontProcCommand { /* フォント描画コマンド */
FP_INIT, /* 文字描画用ワークの初期化 */
FP_TINI, /* フォントの解放 */
FP_INFO, /* 1文字の幅と高さの最大値を求める */
FP_DRAW, /* フォントの描画 */
FP_LENGTH, /* 指定した幅に収まる文字列の長さを
求める */
FP_WIDTH, /* 文字列の幅を求める */
FP_REV, /* フォントの戻り幅の取得 */
FP_RSV, /* システム予約 */
FP_MAX = 7
};
struct FontList { /* フォントリスト */
short ID; /* フォントID */
short type; /* フォントタイプ */
short motherID; /* マザーID */
char name[26]; /* フォント名 */
};
#ifdef __PROTO_TYPE
/*
* グラフマン(Graph Man)
*/
int GMOpenGraph(int, Graph *);
int GMCloseGraph(Graph *);
int GMInitGraph(Graph *);
int GMSetGraph(Graph *);
Graph *GMGetGraph(void);
int GMCopyGraph(Graph *, Graph *);
void GMMoveGraph(LPoint);
void GMSlideGraph(LPoint);
int GMSetClip(Region **);
int GMGetClip(Region **);
int GMClipRect(Rect *);
int GMSetHome(LPoint);
int GMSetGraphSize(LPoint);
int GMSetBitmap(Bitmap *);
LPoint GMLocalToGlobal(LPoint);
LPoint GMGlobalToLocal(LPoint);
void GMInitPen(void);
BOOLEAN GMPenShow(void);
BOOLEAN GMPenHide(void);
LPoint GMPenSize(LPoint);
int GMPenMode(int);
BitImg *GMPenPat(BitImg *);
BitImg *GMExPat(BitImg *);
int GMForeColor(int);
int GMBackColor(int);
int GMAPage(int);
LPoint GMGetLoc(void);
void GMGetPen(Pen *);
void GMSetPen(Pen *);
void GMInitialize(void);
void GMNullRect(Rect *);
int GMSizeRect(Rect *, LPoint);
int GMAndRects(int, Rect *, Rect *, Rect *, ...);
int GMMoveRect(Rect *, LPoint);
int GMSlideRect(Rect *, LPoint);
int GMInsetRect(Rect *, LPoint);
int GMAndRect(Rect *, Rect *, Rect *);
int GMOrRect(Rect *, Rect *, Rect *);
BOOLEAN GMPtInRect(Rect *, LPoint);
BOOLEAN GMEqualRect(Rect *, Rect *);
BOOLEAN GMEmptyRect(Rect *);
int GMAdjustRect(Rect *, Rect *, Rect *);
Region **GMNewRgn(void);
int GMDisposeRgn(Region **);
int GMOpenRgn(void);
int GMCloseRgn(Region **);
int GMNullRgn(Region **);
int GMRectRgn(Region **, Rect *);
int GMCopyRgn(Region **, Region **);
int GMMoveRgn(Region **, LPoint);
int GMSlideRgn(Region **, LPoint);
int GMInsetRgn(Region **, LPoint);
int GMAndRgn(Region **, Region **, Region **);
int GMOrRgn(Region **, Region **, Region **);
int GMDiffRgn(Region **, Region **, Region **);
int GMXorRgn(Region **, Region **, Region **);
int GMPtInRgn(Region **, LPoint);
int GMRectInRgn(Region **, Rect *);
int GMEqualRgn(Region **, Region **);
int GMEmptyRgn(Region **);
int GMImgToRgn(Region **, Bitmap *, Rect *);
int GMInitBitmap(int, Bitmap *);
void GMMove(LPoint);
void GMMoveRel(LPoint);
int GMLine(LPoint);
int GMLineRel(LPoint);
int GMFrameRect(Rect *);
int GMFillRect(Rect *);
int GMFrameOval(Rect *);
int GMFillOval(Rect *);
int GMFrameRRect(Rect *, LPoint);
int GMFillRRect(Rect *, LPoint);
int GMFrameArc(Rect *, int, int);
int GMFillArc(Rect *, int, int);
int GMFrameRgn(Region **);
int GMFillRgn(Region **);
int GMFramePoly(Polygon **);
int GMFillPoly(Polygon **);
int GMScroll(Rect *, LPoint, Region **);
int GMCopy(Bitmap *, Bitmap *, Rect *, Rect *, int, Region **);
int GMCopyMask(Bitmap *, Bitmap *, Bitmap *, Rect *, LPoint, Rect *);
int GMPlotImg(BitImg *, Rect *, int);
int GMPutRImg(RectImg *, LPoint);
int GMDupHImg(BitImg *, LPoint, int, int);
int GMDupVImg(BitImg *, LPoint, int, int);
int GMDupHRImg(RectImg *, LPoint, int);
int GMDupVRImg(RectImg *, LPoint, int);
int GMFontKind(int);
int GMFontFace(int);
int GMFontMode(int);
LPoint GMFontSize(LPoint);
int GMDrawChar(int);
int GMDrawStrL(const _LASCII);
int GMDrawStr(const char *, long, int);
int GMDrawStrZ(const char *);
long GMCharWidth(int);
long GMStrLWidth(const _LASCII);
long GMStrWidth(const char *, long, int);
int GMStrLength(const char *, long, int);
LPoint GMFontInfo(void);
int GMOpenScript(Region **);
int GMCloseScript(GScript **);
int GMDisposeScript(GScript **);
int GMDrawScript(GScript **, Rect *);
long GMGetScript(GScript **, long);
int GMOpenPoly(void);
int GMClosePoly(Polygon **);
int GMDisposePoly(Polygon **);
int GMShadowStrZ(const char *, LPoint);
int GMShadowRect(Rect *);
int GMInvertRect(Rect *, int);
int GMInvertBits(LPoint, Bitmap *);
LPoint GMMapPt(LPoint, Rect *, Rect *);
void GMMapRect(Rect *, Rect *, Rect *);
void GMMapPoly(Polygon **, Rect *, Rect *);
void GMMapRgn(Region **, Rect *, Rect *);
LPoint GMScalePt(LPoint, Rect *, Rect *);
void GMInitPalet(void);
void GMDrawG16(TX16 *, LPoint);
int GMGetPixel(Bitmap *, LPoint);
int GMCalcMask(BitImg *, BitImg *, int, int, int, int);
int GMCalcFrame(BitImg *, BitImg *, int, int, int, int);
void *SXLongMul(void *, long, long);
int SXFixRound(long);
long SXFixMul(long, long);
long SXFixDiv(int, int);
unsigned char ***GMGetFontTable(void);
void GMCopyStdProc(int (**)());
long GMStrZWidth(const char *);
int GMTransImg(Bitmap *, Bitmap *, Rect *, Rect *);
int GMFillRImg(RectImg *, LPoint);
int GMFillImg(BitImg *, Rect *);
int GMSlidedRgn(Region **, Region **, LPoint);
int GMPaintRgn(Region **, Bitmap *, LPoint);
int GMSetRgnLine(int);
int GMGetRgnLine(void);
int GMInitGraphMode(int);
int GMCurFont(void);
LPoint GMGetScrnSize(void);
Graph *GMExgGraph(Graph *);
Bitmap *GMExgBitmap(Bitmap *);
Bitmap *GMGetBitmap(void);
int GMCalcBitmap(Bitmap *);
long GMCalcScrnSize(Bitmap *);
Bits **GMNewBits(int, Rect *, int);
void GMDisposeBits(Bits **);
int GMLockBits(Bits **);
int GMUnlockBits(Bits **);
int GMItalicRect(Rect *);
int GMItalicRgn(Region **, Rect *);
void GMFreeBits(Bits **);
int GMCalcGraph(Graph *);
long GMPackImage(void *, void *, long);
long GMUnpackImage(void *, void *, long);
LPoint GMAdjustPt(LPoint, Rect *);
int GMPutImg(BitImg *, Rect *);
int GMCenterRect(Rect *, Rect *, LPoint, int);
int GMScrewRect(Rect *);
int GMAndRectRgn(Region **, Region **, Rect *);
int GMOrRectRgn(Region **, Region **, Rect *);
int GMDiffRectRgn(Region **, Region **, Rect *);
int GMXorRectRgn(Region **, Region **, Rect *);
int GMCharKind(int);
int GMDiffRgnRect(Region **, Rect *, Region **);
int (**GMGetHProcTbl(void))();
int (**GMGetStdProcTbl(void))();
int (**GMGetFontProcTbl(void))();
void (**GMGetRgnProcTbl(void))();
int GMDrawGsOne(GSOneEnv *);
int GMPtInImg(RectImg *, LPoint, int);
int GMFrameNPoly(NPoly *, NPolyEnv *);
int GMFillNPoly(NPoly *, NPolyEnv *);
Region **GMNPolyFrRgn(Region **, NPoly *, NPolyEnv *, Rect *);
Region **GMNPolyFlRgn(Region **, NPoly *, NPolyEnv *, Rect *);
BOOLEAN GMPtInNPoly(NPoly *, NPolyEnv *, LPoint);
BOOLEAN GMPtOnNPoly(NPoly *, NPolyEnv *, LPoint);
int GMRecordScript(_Handle, long, long);
int GMNLineRel(LPoint, NPolyEnv *);
int GMNLine(LPoint, NPolyEnv *);
int GMRecordPoly(LPoint);
int GMSetFlattness(int);
int GMGetFlattness(void);
int GMDrawBezier(LPoint, LPoint, LPoint);
int GMDrawBSpline(LPoint, LPoint);
int GMSplitBezier(LPoint, LPoint, LPoint, long, SpltBz *);
int GMSplitBSpline(LPoint, LPoint, long, SpltBSp *);
long GMPtOnBezier(LPoint, LPoint, LPoint, LPoint);
long GMPtOnBSpline(LPoint, LPoint, LPoint);
int GMSetGSDraw(int, int (*)());
int (*GMGetGSDraw(int))();
int GMSetGSGet(int, int (*)());
int (*GMGetGSGet(int))();
/*
* フォントマン (Font Man)
*/
int FMInit(void);
FontList *FMGetFontList(void);
int FMSetCacheSize(int);
int FMGetCacheSize(void);
int FMSetSpaceWidth(int);
int FMGetSpaceWidth(void);
int FMSetTracking(int);
int FMGetTracking(void);
int FMGetKerningWidth(int, int);
int FMFontMenuSelect(LPoint);
NPoly *FMGetFontPolyData(int);
#undef __PROTO_TYPE
#else
/*
* グラフマン(Graph Man)
*/
int GMOpenGraph();
int GMCloseGraph();
int GMInitGraph();
int GMSetGraph();
Graph *GMGetGraph();
int GMCopyGraph();
void GMMoveGraph();
void GMSlideGraph();
int GMSetClip();
int GMGetClip();
int GMClipRect();
int GMSetHome();
int GMSetGraphSize();
int GMSetBitmap();
LPoint GMLocalToGlobal();
LPoint GMGlobalToLocal();
void GMInitPen();
BOOLEAN GMPenShow();
BOOLEAN GMPenHide();
LPoint GMPenSize();
int GMPenMode();
BitImg *GMPenPat();
BitImg *GMExPat();
int GMForeColor();
int GMBackColor();
int GMAPage();
LPoint GMGetLoc();
void GMGetPen();
void GMSetPen();
void GMInitialize();
void GMNullRect();
int GMSizeRect();
int GMAndRects();
int GMMoveRect();
int GMSlideRect();
int GMInsetRect();
int GMAndRect();
int GMOrRect();
BOOLEAN GMPtInRect();
BOOLEAN GMEqualRect();
BOOLEAN GMEmptyRect();
int GMAdjustRect();
Region **GMNewRgn();
int GMDisposeRgn();
int GMOpenRgn();
int GMCloseRgn();
int GMNullRgn();
int GMRectRgn();
int GMCopyRgn();
int GMMoveRgn();
int GMSlideRgn();
int GMInsetRgn();
int GMAndRgn();
int GMOrRgn();
int GMDiffRgn();
int GMXorRgn();
int GMPtInRgn();
int GMRectInRgn();
int GMEqualRgn();
int GMEmptyRgn();
int GMImgToRgn();
int GMInitBitmap();
void GMMove();
void GMMoveRel();
int GMLine();
int GMLineRel();
int GMFrameRect();
int GMFillRect();
int GMFrameOval();
int GMFillOval();
int GMFrameRRect();
int GMFillRRect();
int GMFrameArc();
int GMFillArc();
int GMFrameRgn();
int GMFillRgn();
int GMFramePoly();
int GMFillPoly();
int GMScroll();
int GMCopy();
int GMCopyMask();
int GMPlotImg();
int GMPutRImg();
int GMDupHImg();
int GMDupVImg();
int GMDupHRImg();
int GMDupVRImg();
int GMFontKind();
int GMFontFace();
int GMFontMode();
LPoint GMFontSize();
int GMDrawChar();
int GMDrawStrL();
int GMDrawStr();
int GMDrawStrZ();
long GMCharWidth();
long GMStrLWidth();
long GMStrWidth();
int GMStrLength();
LPoint GMFontInfo();
int GMOpenScript();
int GMCloseScript();
int GMDisposeScript();
int GMDrawScript();
long GMGetScript();
int GMOpenPoly();
int GMClosePoly();
int GMDisposePoly();
int GMShadowStrZ();
int GMShadowRect();
int GMInvertRect();
int GMInvertBits();
LPoint GMMapPt();
void GMMapRect();
void GMMapPoly();
void GMMapRgn();
LPoint GMScalePt();
void GMInitPalet();
void GMDrawG16();
int GMGetPixel();
int GMCalcMask();
int GMCalcFrame();
void *SXLongMul();
int SXFixRound();
long SXFixMul();
long SXFixDiv();
unsigned char ***GMGetFontTable();
void GMCopyStdProc();
long GMStrZWidth();
int GMTransImg();
int GMFillRImg();
int GMFillImg();
int GMSlidedRgn();
int GMPaintRgn();
int GMSetRgnLine();
int GMGetRgnLine();
int GMInitGraphMode();
int GMCurFont();
LPoint GMGetScrnSize();
Graph *GMExgGraph();
Bitmap *GMExgBitmap();
Bitmap *GMGetBitmap();
int GMCalcBitmap();
long GMCalcScrnSize();
Bits **GMNewBits();
void GMDisposeBits();
int GMLockBits();
int GMUnlockBits();
int GMItalicRect();
int GMItalicRgn();
void GMFreeBits();
int GMCalcGraph();
long GMPackImage();
long GMUnpackImage();
LPoint GMAdjustPt();
int GMPutImg();
int GMCenterRect();
int GMScrewRect();
int GMAndRectRgn();
int GMOrRectRgn();
int GMDiffRectRgn();
int GMXorRectRgn();
int GMCharKind();
int GMDiffRgnRect();
int (**GMGetHProcTbl())();
int (**GMGetStdProcTbl())();
int (**GMGetFontProcTbl())();
void (**GMGetRgnProcTbl())();
int GMDrawGsOne();
int GMPtInImg();
int GMFrameNPoly();
int GMFillNPoly();
Region **GMNPolyFrRgn();
Region **GMNPolyFlRgn();
BOOLEAN GMPtInNPoly();
BOOLEAN GMPtOnNPoly();
int GMRecordScript();
int GMNLineRel();
int GMNLine();
int GMRecordPoly();
int GMSetFlattness();
int GMGetFlattness();
int GMDrawBezier();
int GMDrawBSpline();
int GMSplitBezier();
int GMSplitBSpline();
long GMPtOnBezier();
long GMPtOnBSpline();
int GMSetGSDraw();
int (*GMGetGSDraw())();
int GMSetGSGet();
int (*GMGetGSGet())();
/*
* フォントマン (Font Man)
*/
int FMInit();
FontList *FMGetFontList();
int FMSetCacheSize();
int FMGetCacheSize();
int FMSetSpaceWidth();
int FMGetSpaceWidth();
int FMSetTracking();
int FMGetTracking();
int FMGetKerningWidth();
int FMFontMenuSelect();
NPoly *FMGetFontPolyData();
#endif __PROTO_TYPE
#endif __SXGRAPH_H